package com.yedean.mall.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yedean.mall.dto.PmsProductCategoryWithChildrenItem;
import com.yedean.mall.entity.PmsProductCategory;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * <p>
 * 产品分类 服务类
 * </p>
 *
 * @author yedean
 * @since 2022-08-09
 */
public interface IPmsProductCategoryService extends IService<PmsProductCategory> {
    /**
     * 创建商品分类
     */
    @Transactional
    void create(PmsProductCategory pmsProductCategory, List<Long> productAttributeIdList);


    /**
     * 分页获取商品分类
     */
    IPage<PmsProductCategory> getList(Long parentId, Integer pageSize, Integer pageNum);


    /**
     * 批量修改显示状态
     */
    void updateShowStatus(List<Long> ids, Integer showStatus);

    /**
     * 批量修改导航状态
     */
    void updateNavStatus(List<Long> ids, Integer navStatus);

    /**
     * 以层级形式获取商品分类
     */
    List<PmsProductCategoryWithChildrenItem> listWithChildren();
}
